#pragma once
#include<stdio.h>
#include<Windows.h>
#include<conio.h>
#include<time.h>
#include<string.h>

#define N 10 //代表最多的管理员数量
#define M 300 //容纳的最多的申请

//申请人或领队人信息: 缺少的信息统一为 -1 或‘N'
typedef struct 
{
	int is_team;//判断是否是团队入校:0---个人，1---团队
	char name[20];//姓名
	int sex;//性别:男---1，女---0
	char telephone[20];//联系电话
	char id_number[30];//身份证号
	char work[50];//工作单位
	int car_number[10];//车牌信息
	char surety_name[20];//担保人姓名
	char surety_phone[20];//担保人电话
	int health_code;//健康码:绿码---1，黄码---2，紫码---3，红码---4
	int health_cough;//是否身体有咳嗽发热: 有---1，无---0
	int in_danger_area;//是否在14天内到过疫区: 有---1，无---0
	char apply_in_time[20];//申请进入时间:格式为:2021/06/03/05/30或2021/06/03/12/50
	char apply_out_time[20];//申请出校时间
	char reason[30];//进校事由
	int apply_result;//申请是否通过:通过---1，驳回---0，未审批---2
	char real_in_time[20];//实际进入时间
	char real_out_time[20];//实际出校时间
}Guest;

//管理员信息
typedef struct 
{
	char user_name[30];//账号
	char password[30];//密码
}Admin;

void gotoxy(int, int);//将光标移动到指定位置
void hide();//隐藏光标

int menu();//菜单
void about();//介绍该系统
void administrator();//管理员登录
void guest();//访客登录
void write();//申请数据存盘
void read();//读取申请数据

//访客的功能函数
void request();//提出申请
void record_in();//记录进入时间
void record_out();//记录出校时间
void autoapprove();//自动审批

//管理员的功能函数
int check();//管理员登录验证
void add();//增加管理员
void seek();//查询界面
void approve();//审批
void data_seek();//按照日期查询
void info_seek();//按照人员信息查询

void name_seek();//按照申请人姓名查询
void id_seek();//申请人身份证号查询
void sex_seek();//申请人性别查询
void surety_seek();//担保人姓名查询
void telephone_seek();//申请人电话查询
void team_seek();//团队查询
